<template>
	<el-dialog v-model="visible" title="选择库存记录" :close-on-click-modal='false' :close-on-press-escape='false'
		:fullscreen='false' width ="70%"  >
		<div class="mod-lswms__inventory">
			<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
				<!-- <el-form-item>
		        <el-input v-model="dataForm.id" placeholder="id" clearable></el-input>
		      </el-form-item> -->
				<el-row>
					<el-col :span="2">
						<el-form-item>
							<el-input v-model="dataForm.sku" size="small" placeholder="物料编码" readonly>
							</el-input>
						</el-form-item>
					</el-col>
					<el-col :span="2">
						<el-form-item>
							<el-input v-model="dataForm.descr" size="small" placeholder="物料名称" >
							</el-input>
						</el-form-item>
					</el-col>
					<el-col :span="2">
						<el-form-item>
							<el-input v-model="dataForm.location" size="small" placeholder="库位编码" clearable>
							</el-input>
						</el-form-item>
					</el-col>
					<el-col :span="2">
						<el-form-item>
							<el-input v-model="dataForm.tray" size="small" placeholder="箱" clearable>
							</el-input>
						</el-form-item>
					</el-col>
					<el-col :span="2">
						<el-form-item>
							<el-input v-model="dataForm.box" size="small" placeholder="格" clearable>
							</el-input>
						</el-form-item>
					</el-col>
					<el-col :span="2">
						<el-form-item>
							<el-input v-model="dataForm.lot" size="small" placeholder="批号" clearable>
							</el-input>
						</el-form-item>
					</el-col>
					<el-col :span="2">
						<el-form-item>
							<el-input v-model="dataForm.qty" size="small" placeholder="数量" clearable>
							</el-input>
						</el-form-item>
					</el-col>
					<el-col :span="2">
						<el-form-item>
							<el-input v-model="dataForm.pickqty" size="small" placeholder="分配量" clearable>
							</el-input>
						</el-form-item>
					</el-col>
					<el-col :span="2">
						<el-form-item>
							<el-input v-model="dataForm.putqty" size="small" placeholder="待上架量" clearable>
							</el-input>
						</el-form-item>
					</el-col>
					<el-col :span="2">
						<el-form-item>
							<el-input v-model="dataForm.status" size="small" placeholder="状态" clearable>
							</el-input>
						</el-form-item>
					</el-col>
					<el-col :span="2">
						<el-form-item>
							<el-button @click="getDataList()">查询</el-button>
						</el-form-item>
					</el-col>
				</el-row>
				<!-- <el-form-item>
		        <el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
		      </el-form-item> -->
				<!-- <el-form-item>
		        <el-button type="danger" @click="deleteHandle()">删除</el-button>
		      </el-form-item> -->
				<!-- <el-form-item>
		        <el-button type="info" @click="exportHandle()">导出</el-button>
		      </el-form-item> -->
			</el-form>
			<el-table v-loading="dataListLoading" :data="dataList" border
				@selection-change="dataListSelectionChangeHandle" @sort-change="dataListSortChangeHandle"
				style="width: 100%;"  height="720">
				<!-- <el-table-column type="selection" header-align="center" align="center" width="50">
				</el-table-column> -->
				<!-- <el-table-column prop="id" label="序号"  header-align="center"
		                       align="center"></el-table-column> -->

				<el-table-column prop="sku" label="物料编码" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="descr" label="物料名称" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="location" label="库位编码" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="tray" label="箱" header-align="center" align="center">
				</el-table-column>
				<!-- <el-table-column prop="box" label="箱" header-align="center" align="center">
				</el-table-column> -->
				<el-table-column prop="boxstr" label="格" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot" label="批号" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="qty" label="数量" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="pickqty" label="分配量" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="putqty" label="待上架量" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot5" label="部门/供应商" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot9str" label="新旧" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot7" label="主制车间" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot4" label="价格" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot6" label="计划单号/工序号" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot3str" label="是否加长" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot8" label="任务编码" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot10str" label="作废" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot11" label="炉批号" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot12" label="材料复验号" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot13" label="牌号" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot1" label="生产日期" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot2" label="有效日期" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot14" label="属性14" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="lot15" label="属性15" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="status" label="状态" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="remark" label="备注" header-align="center" align="center">
				</el-table-column>
			<!-- 	<el-table-column prop="adduser" label="创建人" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="addtime" label="创建时间" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="updatuser" label="更新人" header-align="center" align="center">
				</el-table-column>
				<el-table-column prop="updatetime" label="更新时间" header-align="center" align="center">
				</el-table-column> -->

				       <el-table-column label='操作' fixed="right" header-align="center" align="center" width="150">
		       <template #default="scope">
		          <el-button type="text" size="small" @click="selectOrderdetailHandleFn(scope.row)">选择</el-button>
		          <!-- <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button> -->
		        </template>
		      </el-table-column>
			</el-table>
			<el-pagination :current-page="page" :page-sizes="[10, 20, 50, 100]" :page-size="limit" :total="total"
				layout="total, sizes, prev, pager, next, jumper" @size-change="pageSizeChangeHandle"
				@current-change="pageCurrentChangeHandle">
			</el-pagination>
		</div>
	</el-dialog>

</template>

<script>
	import DataList from "@/utils/DataList";
	import {
		ref,
		reactive,
		onMounted,
		nextTick,
		toRefs
	} from 'vue';
	import {
		getCodeListByCode
	} from "@/network/lswms/base/Codelist.js"
	//import {hasPermission} from "@/utils/hasPermission"
	export default {
		name: "InventoryDialog",
		emits: ["filllineInventory"],
		setup(props, {
			emit
		}) {
			const {
				dataForm,
				mixinViewModuleOptions,
				getDataList,
				dataList,
				total,
				page,
				limit,
				dataListLoading,
				dataListSelectionChangeHandle,
				dataListSortChangeHandle,
				pageSizeChangeHandle,
				pageCurrentChangeHandle,
				addOrUpdateHandle,
				deleteHandle,
				exportHandle,
				addOrUpdateVisible,
				dataListSelections,
				addOrUpdate
			} = DataList();

			onMounted(() => {
				mixinViewModuleOptions.value.getDataListIsPage = true;
				mixinViewModuleOptions.value.getDataListURL = '/lswms/inventory/page';
				mixinViewModuleOptions.value.deleteURL = '/lswms/inventory';
				mixinViewModuleOptions.value.exportURL = '/lswms/inventory/export';
				mixinViewModuleOptions.value.deleteIsBatchKey = 'id';
				mixinViewModuleOptions.value.deleteIsBatch = true
				if (mixinViewModuleOptions.value.activatedIsNeed) {
					getDataList();
				}

				dataForm.value = {
					id: '',
					sku: ''
				}
				//	console.log("id:" +props.dataForm.id);
				//	console.log("orderkey:" +props.dataForm.orderkey);
				// if (mixinViewModuleOptions.value.activatedIsNeed) {
				// 	getDataList();
				// }
				// console.log(props);
				//  console.log(dataForm.value.orderkey);
				// if (dataForm.value.orderkey) {
				// 	dataForm.value.id = '';
				// 	getDataList()
				// }
				//ordersStatusFn();
			})

			const visible = ref(false);
			const init = () => {
				visible.value = true;
				nextTick(function() {
					//  dataFormRef.value.resetFields();
					// roleIdListDefault.value = [];
					// if (dataForm.value.orderkey) {
					// 	dataForm.value.sku = '';
						getDataList()
					// }

				})
			}

			const ordersStatus = ref("");

			const ordersStatusFn = () => {

				getCodeListByCode('OrderStatus').then((res) => {
					if (res.code !== 0) {
						return ElMessage.error(res.msg);
					}
					ordersStatus.value = res.data;
				}).catch((err) => {});
			}

			const selectOrderdetailHandleFn = (row) => {
				emit('filllineInventory', row);
				visible.value = false;
			}

			return {
				dataForm,
				mixinViewModuleOptions,
				getDataList,
				dataList,
				total,
				page,
				limit,
				dataListLoading,
				dataListSelectionChangeHandle,
				dataListSortChangeHandle,
				pageSizeChangeHandle,
				pageCurrentChangeHandle,
				addOrUpdateHandle,
				deleteHandle,
				exportHandle,
				addOrUpdateVisible,
				dataListSelections,
				addOrUpdate,
				init,
				visible,
				ordersStatus,
				selectOrderdetailHandleFn
			}
		},
		methods: {
			//hasPermission

			reString: function(val) {
				let n = Number(val)
				if (!isNaN(n)) {
					return n
				} else {
					return val
				}
			}
		}
	}
</script>

<style>
</style>
